home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / lang / rcs567pc / readme < prev    next >
Text File  |  1994-12-17  |  19KB  |  441 lines

  1. README for RCS 5.6.7.4 for PC's running under OS/2 or MS-DOS
  2. ------------------------------------------------------------
  3.  
  4. Release date: December 16th 1994
  5.  
  6. Changes: - fixed another problem with 32-bit executables for OS/2,
  7.            they seem to work fine now
  8.          - updated emx and rsx DOS extender runtime modules
  9.  
  10. Release date: September 17th 1994 (never made public)
  11.  
  12. Changes: - fixed problem with checkout failures for 32-bit executables
  13.      - significant speedup for checkout of old revisions with
  14.            the 32-bit executables (side effect of above fix)
  15.  
  16. Release date: August 1st 1994
  17.  
  18. Changes: - added workaround for bug in MS-DOS SHARE.EXE
  19.      - new MS-DOS executables
  20.      - slightly corrected rcs/src/ms/Makefile and README files
  21.  
  22. Initial Release date: July 11th 1994
  23.  
  24.  
  25. 0. Archive Locations
  26. --------------------
  27.  
  28. This package is primarily distributed as
  29.  
  30.   ftp.informatik.tu-muenchen.de:/pub/comp/os/os2/gnu/devtools/rcs567pc.zip
  31.  
  32. As long as the author of this revision maintains the OS/2 and MS-DOS
  33. versions of RCS and has access to this archive site, the latest
  34. version can be found there (with file names indicating higher
  35. revisions, perhaps).
  36.  
  37. Other sites will have copies of this archive too, such as
  38.  
  39.   ftp.cdrom.com:/pub/os2/... (see 00index.txt file for exact location)
  40.  
  41. which is the best known OS/2 ftp archive site on the Internet.
  42.  
  43. Related packages that may be of interest for RCS users include (all
  44. path names relative to ftp.informatik.tu-muenchen.de:/pub/comp/os/os2/): 
  45.  
  46. - CVS 1.3 (gnu/devtools/cvs13p8b.zip and cvs13p8s.zip)
  47.  
  48.   CVS is a more advanced revision control system for multi user access
  49.   to shared source code without locks and with conflict resolution, it
  50.   works on top of RCS.
  51.  
  52. - GNU make 3.71 or newer (gnu/devtools/gnumake.zip)
  53.  
  54.   This is a "make" program that knows how to access source files
  55.   maintained with RCS without need to specify rules.
  56.  
  57. - GNU Emacs 19.25 or newer (gnu/emacs-19/*)
  58.  
  59.   The GNU Emacs editor is a very powerful programmer's editor that
  60.   provides easy access to files maintained with RCS via its included
  61.   "vc" package.
  62.  
  63. And, because used to create RCS for OS/2 and MS-DOS:
  64.  
  65. - the emx programming environment (gnu/emx+gcc/*)
  66.  
  67.   The emx environment (current version 0.8h, fix level 10) provides
  68.   tools to create and run 32-bit programs under OS/2 2.x and
  69.   MS-DOS. It uses many GNU programs, such as the gcc C/C++ compiler,
  70.   gas assembler, gdb debugger and libg++ class library.
  71.  
  72. - the RSX DOS extender, currently V4 (gnu/emx+gcc/contrib/dpmigcc4.zip)
  73.  
  74.   This is an alternative DOS extender for emx to let emx programs run
  75.   in a MS-DOS DPMI environment (such as Microsoft Windows 3.x).
  76.  
  77.  
  78. 1. Overview
  79. -----------
  80.  
  81. RCS is a revision control system, usually used by software developers
  82. to maintain revisions of the source code for the software they write.
  83.  
  84. This package contains in subdirectories:
  85.  
  86. rcs         the source code for RCS 5.6.7.4
  87.  
  88. rcsfront    the source code for RCSFRONT, a small front end tool for
  89.         easier management of a collection of files under RCS control
  90.  
  91. diff, diff16    the source code for the GNU diff program, an important tool 
  92.         required for RCS (two versions, see below)
  93.  
  94. doc        preformatted documentation (plain text and PostScript format)
  95.  
  96. bin32        OS/2 2.x executable programs (32-bit)
  97. bin16        OS/2 1.x executable programs (16-bit)
  98. bindos        MS-DOS executable programs (16-bit, but see below)
  99.  
  100. It is assumed that you are familiar with the concept and usage of
  101. RCS. If that is not the case, please read (or print and read) the
  102. original RCS documentation and manual pages available in the "doc"
  103. subdirectory. This file only documents platform and/or release
  104. specific information.
  105.  
  106.  
  107. 2. Installation
  108. ---------------
  109.  
  110. First, just pick the right set of executable programs and put them in
  111. a directory, which should be listed in the PATH environment
  112. variable. For the OS/2 32-bit executables, since they use a few DLL's
  113. (dynamic link libraries), this directory should also be listed in the
  114. LIBPATH statement in CONFIG.SYS.
  115.  
  116. Second, you need to set/check a few environment variables:
  117.  
  118. a) Either the USER or LOGNAME variable must contain the user's
  119.    (i.e. your) last name, unless you have network software installed
  120.    and want to use the name with which the user is logged on to the
  121.    network (see below). In this latter case, you need not set one of
  122.    these variables.
  123.  
  124. b) The TZ environment variable should contain your proper time zone
  125.    definition. If you use the OS/2 32-bit executables, you can also
  126.    use the EMXTZ variable if some other software on your machine
  127.    requires a more complicated value of this variable which programs
  128.    compiled with emx (see below) don't understand. 
  129.  
  130.    The TZ variable usually contains, the time zone name, the time zone
  131.    offset in hours to GMT and optionally the daylight savings time
  132.    zone name, examples are:
  133.  
  134.     SET TZ=PST8PDT        (pacific standard time)
  135.     SET TZ=CET-1        (central europe time)
  136.  
  137.    However, if you work strictly local and do not exchange source code
  138.    with people in other time zones, you may omit the TZ definition,
  139.    although that is NOT recommended.
  140.  
  141. c) The RCSINIT variable can contain options you want to use all the
  142.    time. The default value is suitable for work under DOS and on FAT
  143.    file systems under OS/2, i.e. all RCS files go into a subdirectory
  144.    RCS of the working directory. 
  145.  
  146.    If you work under OS/2 on a HPFS file system (or any other file
  147.    system that can handle long names), you may want to follow the Unix
  148.    convention of using RCS files in the working directory that have a
  149.    suffix of ",v". For this case, use "SET RCSINIT=-x,v/".
  150.  
  151.    See the RCS manual pages for details about all available options.
  152.  
  153. d) (this is optional, for OS/2 2.x only)
  154.  
  155.    The RCSLOAD environment variable can be set to a decimal number
  156.    specifying the amount of minutes to keep the RCS (and diff)
  157.    executables preloaded in memory. This requires that you have the
  158.    emx runtime package installed (emxload.exe is required). This
  159.    method may speed up the use of RCS from within GNU Emacs or with
  160.    CVS if many files are checked in/out.
  161.  
  162. After these steps, you should be able to use the RCS commands.
  163.  
  164.  
  165. 3. RCS
  166. ------
  167.  
  168. RCS is a widely used revision control system available for most Unix
  169. systems and several other platforms (such as in this package, for OS/2
  170. and MS-DOS). It allows shared use of RCS files in such heterogenous
  171. networks, for example.
  172.  
  173. * Note 1: Network Software
  174.  
  175. The RCS programs recognize certain PC networking software and query it
  176. for the name of the logged on user. The result can be overridden by
  177. the value of the USER or LOGNAME environment variables. The LOGNAME
  178. variable has precedence over the USER variable.
  179.  
  180. Under OS/2, the RCS programs recognize the following networking
  181. products:
  182.  
  183. - IBM LAN Server/Requester
  184. - Microsoft LAN Manager Server/Client
  185. - Novell NetWare Client
  186.  
  187. In addition, the installation of the IBM TCP/IP for OS/2 product
  188. usually sets the USER environment variable in CONFIG.SYS.
  189.  
  190. Under MS-DOS, the following networking products are recognized:
  191.  
  192. - IBM DOS LAN Requester
  193. - IBM PC Network
  194. - Microsoft LAN Manager Client
  195. - Microsoft Windows for Workgroups
  196. - Novell NetWare Client
  197.  
  198. and any compatible product.
  199.  
  200. Note that network support in RCS means only that the RCS commands can
  201. retrieve the current user name from the network software, nothing
  202. more.
  203.  
  204. * Note 2: binary files
  205.  
  206. This version of RCS for the PC does not support revision control of
  207. binary files. The main goal is to allow control of source files in
  208. heterogenous environments. In such environments, the systems can have
  209. different conventions for line separation in source code files. To
  210. allow shared use of RCS files between systems with different line
  211. separators, a conversion must take place when checking in/out
  212. files. This, naturally, breaks binary files. In a future version of
  213. RCS the concept of binary files may be introduced into the syntax of
  214. RCS files, to solve this problem. Until then, you can't check in/out
  215. binary files (such as icons or other resource data files), unless you
  216. use some kind of program to convert them into text format (such as
  217. uuencode).
  218.  
  219.  
  220. 4. RCSFRONT
  221. -----------
  222.  
  223. The RCSFRONT program, written by Jason P. Winters and Craig J. Kim is
  224. distributed by the Free Software Foundation. It allows checking in/out
  225. whole collections of files or even whole directory trees with RCS. It
  226. was heavily modified to run on the PC.
  227.  
  228. Of course, RCSFRONT is no substitute for more sophisticated software
  229. that builds on RCS for similar goals, such as CVS. But it may be
  230. sufficient for use on standalone systems or single-programmer
  231. projects. See its manual page in the "doc" subdirectory for more
  232. details.
  233.  
  234.  
  235. 5. GNU DIFF
  236. -----------
  237.  
  238. The RCS programs depend on the availability of the diff command under
  239. Unix, to compare two files (or two different revisions of a file in
  240. the context of RCS). Since that is not a standard command on PC
  241. operating systems, a version of it, the Free Software Foundation's GNU
  242. diff program, is included in this package.
  243.  
  244. Since the reliability of RCS depends on that of the diff program very
  245. heavily, a few more words on this topic:
  246.  
  247. This package supports PC's running OS/2 2.x (a 32-bit operating
  248. system), OS/2 1.x (a 16-bit operating system) and MS-DOS (a 16-bit
  249. operating system which, due to lack of any protection, allows
  250. implementing so-called DOS-extenders to run 32-bit programs on top of
  251. it).
  252.  
  253. The GNU diff program (current version is 2.6), which works very well
  254. with RCS is inherently a 32-bit program (it uses rather large data
  255. structures, for example). It can be compiled for OS/2 2.x without much
  256. effort. However, that is not the case for the 16-bit target
  257. systems. Because of this fact, long time ago I put a LOT of effort
  258. into porting the then current version (1.15) to let it run under OS/2
  259. 1.x and under MS-DOS and testing it thoroughly. As you can see from
  260. the version numbers, it has undergone quite some development since
  261. then and porting the current version again to OS/2 1.x and MS-DOS
  262. would be a lot of work.
  263.  
  264. Because the functionality of diff that is used by RCS has not changed
  265. since 1.15 and since it does not make sense to spend a lot of time for
  266. the 16-bit target operating systems any longer, I decided to include
  267. *two* versions of GNU diff in this package. The old version, 1.15, is
  268. included for use under OS/2 1.x and MS-DOS in the "diff16"
  269. subdirectory and the current version, 2.6, is included for use under
  270. OS/2 2.x (and MS-DOS on 386 CPU's, see below) in the "diff"
  271. subdirectory.
  272.  
  273. Since MS-DOS can be used to also run 32-bit programs with some kind of
  274. DOS extender, this current version of GNU diff can also be used under
  275. MS-DOS, if a 386 or higher CPU is available. This is very important
  276. because MS-DOS limits normal DOS programs to use only up to 640k of
  277. memory less the amount used for MS-DOS itself. And since some RCS
  278. programs call diff as a subprogram, even less memory is available for
  279. diff. So, naturally, the diff program when running under DOS can fail
  280. with "out of memory"-type errors if you try to use RCS commands on
  281. larger files. If that occurs, you should switch to the 32-bit version
  282. of diff, diff-32.exe in the "bindos" subdirectory and rename that to
  283. diff.exe.
  284.  
  285. The RCS commands merge and rcsmerge depend on the availability of
  286. another related command, the diff3 program. This program is a
  287. three-way file comparison/merge program that in turn uses the diff
  288. program as a subprogram. A version of it is included with the GNU diff
  289. program in the same package. 
  290.  
  291. The user interface of the diff3 program was changed noticable between
  292. versions 1.15 and 2.6 and the RCS programs merge and rcsmerge require
  293. at least the diff3 program included with GNU diff 2.1. For this reason
  294. and since it is a much smaller program than diff itself, the GNU diff
  295. 2.6's diff3 program has been "ported back" to GNU diff 1.15 and is
  296. also used in the 16-bit target environments.
  297.  
  298. To make a long story short, while the executables for the RCS
  299. programs, RCSFRONT and diff3 for all three target environments are
  300. made from the same source code, two different versions of GNU diff
  301. (1.15 and 2.6) are used to create the diff program's executables for
  302. the three platforms, 1.15 for 16-bit OS/2 1.x and MS-DOS and 2.6 for
  303. 32-bit OS/2 2.x and MS-DOS on 386 and up PC's.
  304.  
  305.  
  306. 6. The emx toolkit and the emx and rsx DOS extenders
  307. ----------------------------------------------------
  308.  
  309. The 32-bit diff program for dos, diff-32.exe, was created with the
  310. same compiler and toolkit (emx) that was used to create the 32-bit
  311. OS/2 2.x executables. That has saved a lot of extra work.
  312. Specifically, the emx 0.8h kit with patch 8 applied has been used. This
  313. toolkit uses the GNU gcc compiler and is freely available to everyone.
  314.  
  315. The emx kit includes a DOS extender (emx.exe) that allows to run
  316. 32-bit programs like diff-32.exe under plain DOS and in VCPI
  317. environment (certain DOS "memory managers" provide this
  318. environment). To run diff-32.exe in a DPMI environment (such as in DOS
  319. windows under Microsoft Windows 3.x), a different DOS extender is
  320. available, called rsx (rsx.exe). The diff-32.exe program automatically
  321. selects the right extender to run on at runtime. Both extenders are
  322. included in the "bindos" subdirectory in this packages as well as
  323. their COPYING and README files in the root directory of this
  324. package. You should be able to find the full packages of emx and rsx
  325. at the same places where you got this RCS package.
  326.  
  327. Note that you may already have either emx.exe or rsx.exe or even both
  328. on your MS-DOS system because they are popular and you may be using
  329. some other software that depends on them. In such a case, make sure
  330. you have only one copy (the newest one) on your system available via
  331. the PATH environment variable.
  332.  
  333. I mentioned that the emx toolkit was used to create the OS/2 2.x
  334. 32-bit executables. To save disk space, the RCS (and RCSFRONT and GNU
  335. diff/diff3) programs are linked with the shared runtime library of
  336. emx, so you have only copy of it on disk and not one in each separate
  337. executable. This emx runtime consists of emx.dll and emxlibc.dll. If
  338. you followed the installation instructions above, you should not
  339. notice any difference to "normal", statically linked programs. Since
  340. many free programs for OS/2 2.x are compiled with this
  341. compiler/toolkit, chances are big that you already have a copy of
  342. these DLL's on your system. Make sure you keep only one of them (the
  343. newest one) in a directory listed in the LIBPATH statement in your
  344. CONFIG.SYS.
  345.  
  346. In addition, because the RCS programs use a common set of utility
  347. functions, these have been put into another shared library,
  348. rcslib.dll. This further reduces disk space requirements
  349. considerably. Also, the GNU regular expression library used by GNU
  350. diff is also linked in a separate DLL, gnuregex.dll, since it is quite
  351. large and many of the FSF's programs use it, which are available for
  352. OS/2. You need only one copy of it on your system too.
  353.  
  354.  
  355. 7. Documentation
  356. ----------------
  357.  
  358. The manual pages for RCS and RCSFRONT programs and additional
  359. documents are available in the "doc" subdirectory in two formats: as
  360. plain ASCII files for reading with a browser and in PostScript (TM)
  361. format for printing on a PostScript printer or viewing/printing with
  362. GhostScript or GSView/PM. They were all created with the OS/2 version
  363. of the GNU groff text formatter from the "source" documents also
  364. included in this package (in the "rcs\man" and "rcsfront"
  365. subdirectories).
  366.  
  367. The documentation for GNU diff and diff3, version 2.6, is available as
  368. a TeXinfo source file in the "diff" subdirectory. A preformatted
  369. version in GNU Info format is in the "doc" subdirectory for reading
  370. with either the GNU Emacs editor or the standalone GNU info browser,
  371. but it can also be viewed with any normal file browser. A PostScript
  372. version of it, made with emTeX and dvips, is also in the "doc"
  373. subdirectory.
  374.  
  375. If you are not yet familiar with RCS and/or GNU diff, please read this
  376. documentation files.
  377.  
  378.  
  379. 8. Recompilation
  380. ----------------
  381.  
  382. In case you want to recompile: the 32-bit OS/2 2.x programs and the
  383. 32-bit MS-DOS GNU diff program are generated with the emx 0.8h toolkit
  384. (which uses gcc 2.5.7 or 2.5.8). Not only is the 0.8h version of emx
  385. required but also fix level 8 for it is absolutely required or you
  386. will experience crashes in the generated programs.
  387.  
  388. With emx you could even generate 32-bit versions of all RCS programs
  389. and also RCSFRONT for MS-DOS on a 386 or larger CPU, but you don't
  390. gain anything from them, since these programs do not reach the MS-DOS
  391. 640k limit. In addition, when using emx to compile RCS for DOS, no
  392. network support is available for technical reasons.
  393.  
  394. For the 16-bit OS/2 1.x and MS-DOS programs, Microsoft C 6.00A was
  395. used. For MS-DOS, you should also be able to use MS C/C++ 7.00 or MS
  396. Visual C++ with only minor changes (not tested, but MS's C compilers
  397. are usually upwardly compatible).
  398.  
  399. In the "diff16" directory, there are separate Makefile.dos and
  400. Makefile.os2 file for use with the NMAKE program included with
  401. Microsoft C. In the "rcsfront" and "diff" directories there is one
  402. Makefile in each with multiple targets.
  403.  
  404. The Makefile for RCS itself is in the "rcs\src\ms" subdirectory
  405. together with a few more supporting files.
  406.  
  407.  
  408. 9. Problems
  409. -----------
  410.  
  411. Please read this file carefully. If you have problems using RCS, please
  412. first check it again to see if you forgot something and also check the
  413. RCS documentation in the "doc" subdirectory. Especially the emx/rsx
  414. runtime stuff can be confusing sometimes.
  415.  
  416. If that doesn't help, send a short and descriptive e-mail
  417. message. Don't laugh, you don't know how often I get e-mail with
  418. contents like "the foobar program you ported to OS/2 does not work,
  419. what should I do?" without any more details. Remember that I can't
  420. read your mind, especially not over such distances. :-)
  421.  
  422.  
  423. 10. Author / Address
  424. --------------------
  425.  
  426. Walter F. Tichy wrote the original version of RCS.
  427. Paul Eggert wrote the changes for RCS version 5.x, and helps maintain it.
  428.  
  429. This port of RCS 5.6.7.4 to MS-DOS and OS/2 is based on an earlier
  430. release (RCS 5.6.3) made by Paul Eggert, Frank Whaley and Kai Uwe
  431. Rommel.
  432.  
  433. The DOS and OS/2 related changes for 5.6.7.4, for the new DOS and OS/2
  434. 32-bit targets, the new networking support and the ports of RCSFRONT
  435. and GNU diff 1.15 and 2.6 were made by Kai Uwe Rommel.
  436.  
  437.  
  438. /* Kai Uwe Rommel                                      Muenchen, Germany *
  439.  * rommel@ars.muc.de                              CompuServe 100265,2651 *
  440.  * rommel@informatik.tu-muenchen.de                  Fax +49 89 324 4524 */
  441.